home *** CD-ROM | disk | FTP | other *** search
- #define ImmediateByte(z) \
- ByteAt(rPC,z) \
- ANDI.L #0xFF,z
-
- #define ZeroPageAddr(z) \
- ByteAt(rPC,z) \
- ANDI.L #0xff,z
-
- /* Don't use any of these with "z" being D0! */
-
- #define ZeroPageXAddr(z) \
- ByteAt(rPC,z) \
- ADD.B rX,z \
- ANDI.L #0xff,z
- /* (255&(x+ByteAt(pc))) */
-
- #define ZeroPageYAddr(z) \
- ByteAt(rPC,z) \
- ADD.B rY,z \
- ANDI.L #0xFF,z
- /* (255&(y+ByteAt(pc))) */
-
- #define IndirectXAddr(z) \
- ByteAt(rPC,z) \
- ADD.B rX,z \
- ANDI.L #0xff,z \
- WordAt(z,z)
- /* (WordAt(255&(ByteAt(pc)+x))) */
-
- #define IndirectYAddr(z) \
- ByteAt(rPC,z) \
- ANDI.L #0xFF,z \
- WordAt(z,z) \
- ANDI.W #0xFF,rY \
- ADD.W rY,z
- /* (WordAt(ByteAt(pc))+y) */
-
- #define AbsoluteAddr(z) \
- CLR.L z \
- WordAt(rPC,z)
-
- #define AbsoluteXAddr(z) \
- CLR.L z \
- WordAt(rPC,z) \
- ANDI.W #0xFF,rX \
- ADD.W rX,z
- /* (WordAt(pc)+x) */
-
- #define AbsoluteYAddr(z) \
- CLR.L z \
- WordAt(rPC,z) \
- ANDI.W #0xFF,rY \
- ADD.W rY,z
- /* (WordAt(pc)+y) */
-